package com.bsoft.gol.hcs.followup.bean.response;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.bsoft.gol.hcs.followup.bean.request.FollowUpEducationDTO;
import com.bsoft.gol.hcs.followup.bean.request.FollowUpQuestionnaireDTO;
import com.bsoft.gol.hcs.followup.bean.request.FollowUpSatQuestionnaireDTO;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.util.Date;
import java.util.List;

/**
 * 随访详情出参
 *
 * @author neoLin - 2022/05/31 08:33
 **/
@Getter
@Setter
@NoArgsConstructor
public class FollowUpDetailVO {

    /**
     * 随访记录主键
     */
    private String recordId;

    /**
     * 患者姓名
     */
    private String patientName;

    /**
     * 患者年龄
     */
    private Integer patientAge;

    /**
     * 患者性别
     */
    private String patientSex;


    /**
     * 病人性质/费别
     */
    private String patientNature;

    /**
     * 住院号码/门诊号码
     */
    private String patientNumber;

    /**
     * 门诊号码
     */
    private String outpatientNumber;

    /**
     * 住院号码
     */
    private String inpatientNumber;

    /**
     * 卡类型 01身份证
     */
    private String cardType;

    /**
     * 证件号码
     */
    private String cardNumber;

    /**
     * 病案号
     */
    private String medicalNumber;

    /**
     * 患者手机号
     */
    private String patientPhone;

    /**
     * 患者生日
     */
    private String patientBirthday;

    /**
     * 联系人姓名
     */
    private String contactsName;

    /**
     * 联系人关系
     */
    private String contactsRelation;

    /**
     * 联系人手机号
     */
    private String contactsPhone;

    /**
     * 随访联系人姓名
     */
    private String followUpContactsName;

    /**
     * 随访联系人关系
     */
    private String followUpContactsRelation;

    /**
     * 随访联系人备注
     */
    private String followUpContactsRemark;

    /**
     * 随访联系人手机号
     */
    private String followUpContactsPhone;

    /**
     * 患者地址
     */
    private String patientAddress;

    /**
     * 入院科室名称
     */
    private String admittingDept;

    /**
     * 出院科室名称
     */
    private String dischargeDept;

    /**
     * 门诊科室名称
     */
    private String outpatientDept;

    /**
     * 入院时间
     */
    private Date admittingTime;

    /**
     * 出院时间
     */
    private Date dischargeTime;

    /**
     * 门诊时间
     */
    private Date visitTime;

    /**
     * 入院诊断
     */
    private String admittingDiagnosisName;

    /**
     * 出院诊断名称
     */
    private String disDiagnosisName;

    /**
     * 门诊诊断名称
     */
    private String outDiagnosisName;

    /**
     * 主治医生姓名
     */
    private String doctorName;

    /**
     * 主治医生编码
     */
    private String doctorId;

    /**
     * 锁定医生编号
     */
    private String lockId;

    /**
     * 患者标签列表
     */
    private List<String> patientTag;

    /**
     * 随访表单列表
     */
    private List<FollowUpQuestionnaireDTO> questionnaireList;

    /**
     * 满意度表单列表
     */
    private List<FollowUpSatQuestionnaireDTO> satQuestionnaireList;

    /**
     * 健康宣教列表
     */
    private List<FollowUpEducationDTO> educationList;

    /**
     * 随访状态：0未随访 1 已随访 2待确认 3已取消 9 已终止
     */
    private Byte followUpStatus;


    /**
     * 病历url
     */
    private String webUrl;
    /**
     * 原始数据
     */
    private String webMeta;

    /**
     * 机构编码
     */
    private String organizationId;

    /**
     * 就诊序号
     */
    private String visitNo;

    //路径详细类型，1门诊复诊2入组评估3问卷随访4指标检测5医护随访6健康宣教7健康监测
    private Integer routeDetailType;

    /**
     * 计划时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", locale = "zh_CN", timezone = "GMT+8")
    private Date planTime;

}
